/*
 * PDBHeuristic.h
 *
 *  Created on: 23/05/2011
 *      Author: frandres
 */

#ifndef PDBHEURISTIC_H_
#define PDBHEURISTIC_H_

#include <iostream>
#include <fstream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using namespace std;

class PDBHeuristic {
public:
	PDBHeuristic(int _n, bool *_X);
	PDBHeuristic(int _n, bool *_X, char *filename);
	virtual ~PDBHeuristic();
	unsigned short int calculateHeuristic(int invBoard[]);
	unsigned int getRank(int invBoard[]);

	int n;
	int Hsize;
	int *perm;
	bool *X;
	unsigned char *H;
};

#endif /* PDBHEURISTIC_H_ */
